IAxis.GearInPos 方法
對從同步點開始的從軸和主軸間的位置,下達一個齒輪比命令。從軸數量最多為 32。
注意:欲使用 SetGearInPos(),主軸需處於移動中以恆定速度移動。
運作方式:
首先,從軸使用 IAxis.MoveContinuousAbsolute 方法,在正確的時間及速度到達 SlaveSyncPosition,Velocity、Acceleration 與 Deceleration 輸入可供 IAxis.MoveContinuousAbsolute 運動設定,運動執行時,StartSync 輸出為 TRUE,一旦此運動完成,InSync 輸出將為 TRUE。
GearInPos 設定檔:
- 若 MasterStartDistance 非零,主軸位置一到達 MasterSyncPosition +- MasterStartDistance 時從軸即開始移動,Velocity 被視為可能無法達到的最大速度,除非速度太低,否則基本上會被省略,由於無法產生相容的設定檔因此將觸發錯誤。
- 若 MasterStartDistance 為零而 Velocity 非零,將依據提供的最大速度計算可能的最短路徑設定。
- 若 MasterStartDistance 及 Velocity 皆為零,KINGSTAR 將產生一個最順路徑設定。
組合: IntervalZero.KINGSTAR.Base.Class (於 IntervalZero.KINGSTAR.Base.dll) 版本:4.4.0.0
語法
IGearInPosCommand GearInPos(
IAxis master,
bool permanent,
double ratio,
McSource masterValueSource,
double masterSyncPosition,
double slaveSyncPosition,
McSyncMode syncMode,
double masterStartDistance,
double velocity,
double acceleration,
double deceleration,
double jerk,
McBufferMode bufferMode
)
Function GearInPos(
master As IAxis,
permanent As Boolean,
ratio As Double,
masterValueSource As McSource,
masterSyncPosition As Double,
slaveSyncPosition As Double,
syncMode As McSyncMode,
masterStartDistance As Double,
velocity As Double,
acceleration As Double,
deceleration As Double,
jerk As Double,
bufferMode As McBufferMode
)As IGearInPosCommand
參數
master
型別:IAxis
主軸的參考。
permanent
型別:bool
決定馬達停用後是否保留齒輪狀態。
true:即使馬達停用仍保留齒輪狀態,例如當主軸啟用時從軸也會跟著啟用,而當主軸發生錯誤從軸也會發生錯誤。
false:馬達停用後不會保留齒輪狀態。
ratio
型別:double
齒輪比率。
masterValueSource
型別:McSource
定義同步的來源。請參閱 McSource。
- mcSetValue – 同步主軸設定值,建議使用此設定。
- mcActualValue – 同步主軸實際值,此設定可能不穩定。
- mcSecondEncoderValue – 軸的第二編碼器的實際值。
注意:尚未支援 mcSecondEncoderValue。
masterSyncPosition
型別:double
從軸與主軸同步時主軸的位置。
slaveSyncPosition
型別:double
從軸與主軸同步時從軸的位置。
syncMode
型別:McSyncMode
定義同步的方式。
masterStartDistance
型別:double
為了與從軸同步,主軸所移動的距離(當從軸開始進入同步時)。
velocity
型別:double
同步階段時的最大速度。
acceleration
型別:double
同步階段時的最大加速度。
deceleration
型別:double
同步階段時的最大減速度。
jerk
型別:double
同步階段時的最大加加速度。
bufferMode
型別:McBufferMode
定義如何融合兩方法的速度。
回傳值
回傳一個齒輪比率運動的屬性。
備註
- 若使用 MasterStartDistance,直到主軸以正確的方向跨過 MasterSyncPosition 或 MasterStartDistance 前,任何先前的運動都會繼續執行(依照 MasterStartDistance 的指示)。若在同步發生之前對從軸執行停止命令,同步將被取消且此方法將發送 CommandAborted。
- 若未指定 MasterStartDistance,則系統可根據其他相關輸入計算同步設定位置。
- 在 SyncMode中,
mcCatchUp
與mcSlowDown
的差別在於同步所需的能量。相較於mcCatchUp
,mcSlowDown
需求的能量較少。
參見